import Vue from 'vue'
import Vuex from 'vuex'
// vue2 vuex 
// vue3 pinia 

Vue.use(Vuex)

const store = new Vuex.Store({
	// state 存放状态
	state:{
		count:2,
		num:20,
		userInfo:{}
	},
	// mutation 修改状态
	mutations:{
		changeCount(state,payload){ // payload 载荷
			state.count = payload
		},
		updateUserinfo(state,val){
			state.userInfo = val
		}
	},
	// action 异步操作 发ajax请求
	actions:{
		getUserInfo(context){
			setTimeout(()=>{
				// console.log("userinfo==>",{name:'zs',age:18});
				context.commit('updateUserinfo',{name:'zs',age:20})
			},2000)
		}
	},
	// 获取状态，类似vue中 计算属性
	getters:{
		getDoubleCount(state){
			return state.count * 2
		}
	},
	// modules 模块化
	modules:{
		
	}
})

export default store